home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 9
/
The PC-SIG Library on CD ROM - Ninth Edition.iso
/
1201_300
/
DISK1262
/
DISK1262.ZIP
/
TRIM.D
< prev
next >
Wrap
Text File
|
1988-07-11
|
1KB
|
56 lines
; Doug's Programming Language -- DPL, Version 2.22
; Copyright (c) 1988 Douglas S. Cody, All rights reserved.
;----------------------------------------
; TRIM -- THIS PROGRAM TRIMS TRAILING BLANKS FROM AN ASCIIZ STRING
;
; Entry Conditions:
; AX holds the string address
; Exit conditions:
; Assume all working registers modified
;
; Calling Example:
;
; DEFINE M00'THIS STRING IS PADDED '
; ;
; CALL TRIM M00
;
; Calling results:
;
; M00 = 'THIS STRING IS PADDED'
;
SUBPGM TRIM
BEGIN TRIM
EXTRN _STREND:NEAR
PUSH ES
PUSH SI
;
PUSH DS
POP ES
;
MOV SI,AX ; SETUP THE STRING PTR
CALL _STREND ; GET THE LENGTH
JCXZ TRM10 ; EXIT IF NULL
STD ; MOVE BACKWARD
XCHG DI,SI ; DI POINTS TO THE END OF LINE
MOV AL,20H
DEC DI ; POINT TO THE 1ST CHARACTER
;
TRM05:
REPE SCASB ; SCAN ALL BLANKS
INC DI ; MOVE BACK TO THE NON-MATCH
JCXZ TRM07 ; IF ALL BLANK KILL THE WHOLE STRING
INC DI
;
TRM07:
MOV BYTE PTR [DI],0 ; CUT IT OFF
CLD ; FORWARD DIRECTION
;
TRM10:
XCHG DI,SI
POP SI
POP ES
RET
;
ENDPGM TRIM
;